<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:c="http://java.sun.com/jsp/jstl/core">

    <SCRIPT language="JavaScript" type="text/javascript">
                   
        function handleRequestTaxista(xhr, status, args) {                     
            if(args.validationFailed || !args.CallbackParam) {  
     
            } else {                              
                carDialogTaxista.hide();
            }  
        }  
    </SCRIPT>
    <p:tabView id="tabPrincipal" style="#{applicationMBean.estiloTitulo}">
        <p:tab id="tabGeneral" title="GENERAL">
            <h:form id="frmTabGeneral">
                <h:panelGrid columns="1" cellpadding="4">
                    <h:outputLabel value="DATOS GENERALES" styleClass="subTitulo"/>
                    <p:separator/>
                    <h:panelGrid columns="6" cellpadding="4">
                        <h:outputLabel value="ID" styleClass="label" rendered="#{empresaMBean.accionDetalle != 1}"/>
                        <h:outputText value="#{empresaMBean.empresaDeta.id}" rendered="#{empresaMBean.accionDetalle != 1}" styleClass="txtCampo"/>

                        <h:outputLabel for="itNombresTaxista" value="NOMBRES" styleClass="label"/>
                        <p:inputText id="itNombresTaxista" label="NOMBRES" maxlength="50"
                                     value="#{empresaMBean.empresaDeta.nombres}" readonly="#{empresaMBean.accionDetalle == 3}"
                                     required="true" size="50" styleClass="txtCampoObligatorio">
                            <f:validateLength minimum="1" maximum="50"/>
                        </p:inputText>

                        <h:outputLabel for="itApPaternoTaxista" value="APELLIDO PATERNO" styleClass="label"/>
                        <p:inputText id="itApPaternoTaxista" label="APELLIDO PATERNO" maxlength="20"
                                     value="#{empresaMBean.empresaDeta.apPaterno}" readonly="#{empresaMBean.accionDetalle == 3}"
                                     required="true" size="30" styleClass="txtCampoObligatorio">
                            <f:validateLength minimum="1" maximum="30"/>
                        </p:inputText>

                        <h:outputLabel for="itApMaternoTaxista" value="APELLIDO MATERNO" styleClass="label"/>
                        <p:inputText id="itApMaternoTaxista" label="APELLIDO MATERNO" maxlength="20"
                                     value="#{empresaMBean.empresaDeta.apMaterno}" readonly="#{empresaMBean.accionDetalle == 3}"
                                     required="true" size="30" styleClass="txtCampoObligatorio">
                            <f:validateLength minimum="1" maximum="30"/>
                        </p:inputText>

                        <h:outputLabel for="itDniTaxista" value="DNI" styleClass="label"/>
                        <p:inputText id="itDniTaxista" label="DNI" readonly="#{empresaMBean.accionDetalle == 3}" maxlength="20"
                                     value="#{empresaMBean.empresaDeta.dni}" required="true" size="20" styleClass="txtCampoObligatorio"
                                     onkeypress="return fn_validaTecla('entero',this)">
                            <f:validateLength minimum="1" maximum="20"/>
                        </p:inputText>

                        <h:outputLabel for="itFechNacTaxista" value="FECHA NACIMIENTO" styleClass="label"/>
                        <p:calendar id="itFechNacTaxista" value="#{empresaMBean.fechaNacimiento}" label="FECHA NACIMIENTO"
                                    pattern="#{applicationMBean.formatoFecha}"  required="true" style="#{applicationMBean.estiloObligatorio}"
                                    disabled="#{empresaMBean.accionDetalle == 3}">                            
                        </p:calendar>

                        <h:outputLabel for="itDireccionTaxista" value="DIRECCIÓN" styleClass="label"/>
                        <p:inputText id="itDireccionTaxista" label="DIRECCIÓN" maxlength="100"
                                     value="#{empresaMBean.empresaDeta.direccion}" readonly="#{empresaMBean.accionDetalle == 3}"
                                     required="true" size="60" styleClass="txtCampoObligatorio">
                            <f:validateLength minimum="1" maximum="100"/>
                        </p:inputText>

                        <h:outputLabel for="itTelTaxista" value="TELÉFONO" styleClass="label"/>
                        <p:inputText id="itTelTaxista" label="TELÉFONO" readonly="#{empresaMBean.accionDetalle == 3}" maxlength="30"
                                     value="#{empresaMBean.empresaDeta.telefono}" required="true" size="20" styleClass="txtCampoObligatorio"
                                     onkeypress="return fn_validaTecla('entero',this)">
                            <f:validateLength minimum="1" maximum="30"/>
                        </p:inputText>

                        <h:outputLabel for="itEmailLabTaxista" value="E-MAIL LABORAL" styleClass="label"/>
                        <p:inputText id="itEmailLabTaxista" label="E-MAIL LABORAL" maxlength="50"
                                     value="#{empresaMBean.empresaDeta.emailLaboral}" readonly="#{empresaMBean.accionDetalle == 3}"
                                     required="true" size="60" styleClass="txtCampoObligatorio">
                            <f:validateLength minimum="1" maximum="50"/>
                        </p:inputText>

                        <h:outputLabel for="itEmailPerTaxista" value="E-MAIL PERSONAL" styleClass="label"/>
                        <p:inputText id="itEmailPerTaxista" label="E-MAIL PERSONAL" maxlength="50"
                                     value="#{empresaMBean.empresaDeta.emailPersonal}" readonly="#{empresaMBean.accionDetalle == 3}"
                                     required="true" size="60" styleClass="txtCampoObligatorio">
                            <f:validateLength minimum="1" maximum="50"/>
                        </p:inputText>

                        <h:outputLabel for="itSexoTaxista" value="SEXO" styleClass="label"/>
                        <p:selectOneMenu id="itSexoTaxista" value="#{empresaMBean.empresaDeta.sexo}" style="#{applicationMBean.estiloObligatorio}"
                                         disabled="#{empresaMBean.accionDetalle == 3}">
                            <f:selectItems value="#{empresaMBean.siEstadosSexo}"/>
                        </p:selectOneMenu>

                        <h:outputLabel for="itNroBreveteTaxista" value="NÚMERO BREVETE" styleClass="label"/>
                        <p:inputText id="itNroBreveteTaxista" label="NÚMERO BREVETE" readonly="#{empresaMBean.accionDetalle == 3}" maxlength="30"
                                     value="#{empresaMBean.empresaDeta.nroBrevete}" required="true" size="20" styleClass="txtCampoObligatorio"
                                     onkeypress="return fn_validaTecla('entero', this)">
                            <f:validateLength minimum="1" maximum="30"/>
                        </p:inputText>

                        <h:outputLabel for="itCantSerTaxista" value="CANTIDAD SERVICIOS" styleClass="label"/>
                        <h:outputText id="itCantSerTaxista" value="#{empresaMBean.empresaDeta.cantServicios}" styleClass="general"/>

                        <h:outputLabel for="itCantRecTaxista" value="CANTIDAD RECLAMOS" styleClass="label"/>
                        <h:outputText id="itCantRecTaxista" value="#{empresaMBean.empresaDeta.cantReclamos}" styleClass="general"/>

                        <h:outputLabel for="itCantAutTaxista" value="CANTIDAD AUTOS" styleClass="label"/>
                        <h:outputText id="itCantAutTaxista" value="#{empresaMBean.empresaDeta.cantAutos}" styleClass="general"/>

                        <h:outputLabel for="itFechRegTaxista" value="FECHA REGISTRO" styleClass="label"/>
                        <h:outputText id="itFechRegTaxista" value="#{empresaMBean.empresaDeta.fechaRegistro}" styleClass="label">
                            <f:convertDateTime pattern="#{applicationMBean.formatoFechaHora}"  timeZone="#{applicationMBean.timeZone}"/>
                        </h:outputText>

                        <h:outputLabel for="itEstadoTaxista" value="ESTADO" styleClass="label"/>
                        <h:outputText id="itEstadoTaxista" value="#{empresaMBean.empresaDeta.estadoTexto}" styleClass="label"/>
                    </h:panelGrid>
                </h:panelGrid>
                <p:panel id="pnlAcciones">
                    <h:panelGrid columns="10">
                        <p:commandButton id="btnGuardarTaxista" update=":msjDialogTaxista, :msgs, :frmPrincipal"
                                         title="GUARDAR"
                                         ajax="true"
                                         style="#{applicationMBean.estilosBtnBuscar}"
                                         rendered="#{empresaMBean.accionDetalle != 3}"
                                         icon="ui-icon ui-icon-disk"
                                         value="GUARDAR"
                                         action="#{empresaMBean.guardarTaxista}"
                                         oncomplete="handleRequestTaxista(xhr, status, args)">
                        </p:commandButton>
                    </h:panelGrid>
                </p:panel>
            </h:form>
        </p:tab>

        <p:tab id="tabAutos" title="AUTOS" rendered="#{empresaMBean.empresaDeta.id != null}">
            <h:form id="frmTabAutos">
                <h:panelGrid columns="8" cellpadding="4">
                    <p:commandButton title="NUEVO AUTO"
                                     icon="ui-icon ui-icon-plus"
                                     style="#{applicationMBean.estilosBtnBuscar}"
                                     value="NUEVO AUTO"
                                     action="#{empresaMBean.nuevoAuto}"
                                     oncomplete="carDialogAuto.show()"
                                     update=":frmAuto:pgFrmAuto"
                                     rendered="#{empresaMBean.accionDetalle != 3}">
                    </p:commandButton>
                </h:panelGrid>

                <h:panelGrid columns="1">
                    <p:dataTable id="tblAuto" value="#{empresaMBean.listaAutos}" var="auto" paginator="true"
                                 paginatorPosition="top" rows="#{sessionMBean.cantidadRegistros}" widgetVar="widTableAuto">
                        <p:column style="text-align:center;">
                            <h:panelGrid columns="8" cellpadding="4" styleClass="estiloPanelGrid">
                                <p:commandButton icon="ui-icon ui-icon-search" title="VER"
                                                 action="#{empresaMBean.verAuto}" ajax="true"
                                                 oncomplete="carDialogAuto.show()" update=":frmAuto:pgFrmAuto">
                                    <f:setPropertyActionListener value="#{auto}" target="#{empresaMBean.auto}"/>
                                </p:commandButton>

                                <p:commandButton icon="ui-icon ui-icon-pencil" title="EDITAR"
                                                 action="#{empresaMBean.editarAuto}" ajax="true"
                                                 update=":frmAuto:pgFrmAuto" oncomplete="carDialogAuto.show()"
                                                 rendered="#{empresaMBean.accionDetalle != 3}">
                                    <f:setPropertyActionListener value="#{auto}" target="#{empresaMBean.auto}"/>
                                </p:commandButton>
                            </h:panelGrid>
                        </p:column>
                        <p:column headerText="ID" styleClass="general">
                            <h:outputText value="#{auto.id}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="MARCA" styleClass="general">
                            <h:outputText value="#{auto.marca}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="MODELO" styleClass="general">
                            <h:outputText value="#{auto.modelo}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="PLACA" styleClass="general">
                            <h:outputText value="#{auto.placa}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="AÑO FABRICACIÓN" styleClass="general">
                            <h:outputText value="#{auto.anoFabricacion}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="COLOR" styleClass="general">
                            <h:outputText value="#{auto.color}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="NÚMERO SOAT" styleClass="general">
                            <h:outputText value="#{auto.nroSoat}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="CAPACIDAD" styleClass="general">
                            <h:outputText value="#{auto.capacidad}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="ESTADO" styleClass="general">
                            <h:outputText value="#{auto.estadoTexto}" styleClass="general"/>
                        </p:column>
                    </p:dataTable>
                </h:panelGrid>
            </h:form>
        </p:tab>

        <p:tab id="tabServicios" title="SERVICIOS" rendered="#{empresaMBean.empresaDeta.id != null}">
            <h:form id="frmTabServicios">
                <h:panelGrid columns="8" cellpadding="4">
                    <p:commandButton title="NUEVO SERVICIO"
                                     icon="ui-icon ui-icon-plus"
                                     style="#{applicationMBean.estilosBtnBuscar}"
                                     value="NUEVO SERVICIO"
                                     action="#{empresaMBean.nuevoServicio}"
                                     oncomplete="carDialogServicio.show()"
                                     update=":frmServicio:pgFrmServicio"
                                     rendered="#{empresaMBean.accionDetalle != 3}">
                    </p:commandButton>
                </h:panelGrid>

                <h:panelGrid columns="1">
                    <p:dataTable id="tblServicio" value="#{empresaMBean.listaServicios}" var="servicio" paginator="true"
                                 paginatorPosition="top" rows="#{sessionMBean.cantidadRegistros}" widgetVar="widTableServicio">
                        <p:column style="text-align:center;">
                            <h:panelGrid columns="8" cellpadding="4" styleClass="estiloPanelGrid">
                                <p:commandButton icon="ui-icon ui-icon-search" title="VER"
                                                 action="#{empresaMBean.verServicio}" ajax="true"
                                                 oncomplete="carDialogServicio.show()" update=":frmServicio:pgFrmServicio">
                                    <f:setPropertyActionListener value="#{servicio}" target="#{empresaMBean.servicio}"/>
                                </p:commandButton>

                                <p:commandButton icon="ui-icon ui-icon-pencil" title="EDITAR"
                                                 action="#{empresaMBean.editarServicio}" ajax="true"
                                                 update=":frmServicio:pgFrmServicio" oncomplete="carDialogServicio.show()"
                                                 rendered="#{empresaMBean.accionDetalle != 3}">
                                    <f:setPropertyActionListener value="#{servicio}" target="#{empresaMBean.servicio}"/>
                                </p:commandButton>
                            </h:panelGrid>
                        </p:column>
                        <p:column headerText="ID" styleClass="general">
                            <h:outputText value="#{servicio.id}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="CLIENTE" styleClass="general">
                            <h:outputText value="#{servicio.cliente.nombreCompleto}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="FECHA SERVICIO" styleClass="general">
                            <h:outputText value="#{servicio.fechaServicio}" styleClass="general">
                                <f:convertDateTime pattern="#{applicationMBean.formatoFechaHora}"  timeZone="#{applicationMBean.timeZone}"/>
                            </h:outputText>
                        </p:column>
                        <p:column headerText="ORIGEN" styleClass="general">
                            <h:outputText value="#{servicio.origen}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="DESTINO" styleClass="general">
                            <h:outputText value="#{servicio.destino}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="CANTIDAD PASAJEROS" styleClass="general">
                            <h:outputText value="#{servicio.cantPasajeros}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="COSTO" styleClass="general">
                            <h:outputText value="#{servicio.costo}" styleClass="general">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                            </h:outputText>
                        </p:column>
                        <p:column headerText="COMENTARIO" styleClass="general">
                            <h:outputText value="#{servicio.comentario}" styleClass="general"/>
                        </p:column>
                    </p:dataTable>
                </h:panelGrid>
            </h:form>
        </p:tab>
        
        <p:tab id="tabReclamos" title="RECLAMOS" rendered="#{empresaMBean.empresaDeta.id != null}">
            <h:form id="frmTabReclamos">
                <h:panelGrid columns="1">
                    <p:dataTable id="tblReclamo" value="#{empresaMBean.listaReclamos}" var="reclamo" paginator="true"
                                 paginatorPosition="top" rows="#{sessionMBean.cantidadRegistros}" widgetVar="widTableReclamo">
                        <p:column headerText="ID" styleClass="general">
                            <h:outputText value="#{reclamo.id}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="CLIENTE" styleClass="general">
                            <h:outputText value="#{reclamo.cliente.nombreCompleto}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="FECHA RECLAMO" styleClass="general">
                            <h:outputText value="#{reclamo.fechaReclamo}" styleClass="general">
                                <f:convertDateTime pattern="#{applicationMBean.formatoFechaHoraSegundos}"  timeZone="#{applicationMBean.timeZone}"/>
                            </h:outputText>
                        </p:column>
                        <p:column headerText="MOTIVO" styleClass="general">
                            <h:outputText value="#{reclamo.motivo}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="COMENTARIO" styleClass="general">
                            <h:outputText value="#{reclamo.comentario}" styleClass="general"/>
                        </p:column>
                        <p:column headerText="ESTADO" styleClass="general">
                            <h:outputText value="#{reclamo.estadoTexto}" style="#{reclamo.inlineStyle}"/>
                        </p:column>
                    </p:dataTable>
                </h:panelGrid>
            </h:form>
        </p:tab>
    </p:tabView>
</html>

